package com.otitan.forest.right.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.otitan.webapp.framework.basepro.model.PageReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 林权证登记
 *
 * @author xiazw
 * @email *****@mail.com
 * @date 2020-08-04 14:19:43
 */
@Data
@TableName("BSS_FOREST_RIGHT_INFO")
@ApiModel("林权证登记实体")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class BssForestRightInfoEntity extends PageReq implements Serializable {

    private static final long serialVersionUID = -1382119922653066634L;
    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    @TableId("ID")
    private String id;

    /**
     * 宗地号
     */
    @ApiModelProperty("宗地号")
    @TableField("GROUND_NO")
    private String groundNo;

    /**
     * 林权证号
     */
    @ApiModelProperty("林权证号")
    @TableField("FOREST_RIGHT_NO")
    private String forestRightNo;

    /**
     * 不动产单元号
     */
    @ApiModelProperty("不动产单元号")
    @TableField("REAL_UNIT_NO")
    private String realUnitNo;

    /**
     * 市
     */
    @ApiModelProperty("市")
    @TableField("CITY")
    private String city;

    /**
     * 省
     */
    @ApiModelProperty("省")
    @TableField("PROVINCE")
    private String province;

    /**
     * 县
     */
    @ApiModelProperty("县")
    @TableField("COUNTY")
    private String county;

    /**
     * 乡/镇/街道
     */
    @ApiModelProperty("乡/镇/街道")
    @TableField("TOWN")
    private String town;

    /**
     * 村
     */
    @ApiModelProperty("村")
    @TableField("VILLAGE")
    private String village;

    /**
     * 组
     */
    @ApiModelProperty("组")
    @TableField("GROUP_NAME")
    private String groupName;

    /**
     * 林地所有权权利人
     */
    @ApiModelProperty("林地所有权权利人")
    @TableField("LAND_BELONG_USER")
    private String landBelongUser;

    /**
     * 林地所有权权利人统一社会信用代码
     */
    @ApiModelProperty("林地所有权权利人统一社会信用代码")
    @TableField("LAND_BELONG_USER_CREDIT_CODE")
    private String landBelongUserCreditCode;

    /**
     * 林地使用权（自留山）权利人
     */
    @ApiModelProperty("林地使用权（自留山）权利人")
    @TableField("LAND_USE_USER")
    private String landUseUser;

    /**
     * 林地使用权（自留山）权利人身份证号码
     */
    @ApiModelProperty("林地使用权（自留山）权利人身份证号码")
    @TableField("LAND_USE_USER_ID_NO")
    private String landUseUserIdNo;

    /**
     * 林地使用权（自留山）起始日期
     */
    @ApiModelProperty("林地使用权（自留山）起始日期")
    @TableField("LAND_USE_START_DATE")
    private Date landUseStartDate;

    /**
     * 林地使用权（自留山）终止日期
     */
    @ApiModelProperty("林地使用权（自留山）终止日期")
    @TableField("LAND_USE_END_DATE")
    private Date landUseEndDate;

    /**
     * 林地承包经营权权利人
     */
    @ApiModelProperty("林地承包经营权权利人")
    @TableField("LAND_MANAGE_USER")
    private String landManageUser;

    /**
     * 林地承包经营权权利人身份证号码
     */
    @ApiModelProperty("林地承包经营权权利人身份证号码")
    @TableField("LAND_MANAGE_USER_ID_NO")
    private String landManageUserIdNo;

    /**
     * 林地承包经营权权利人统一社会信用代码
     */
    @ApiModelProperty("林地承包经营权权利人统一社会信用代码")
    @TableField("LAND_MANAGE_USER_CREDIT_CODE")
    private String landManageUserCreditCode;

    /**
     * 林地承包经营权起始日期
     */
    @ApiModelProperty("林地承包经营权起始日期")
    @TableField("LAND_MANAGE_START_DATE")
    private Date landManageStartDate;

    /**
     * 林地承包经营权终止日期
     */
    @ApiModelProperty("林地承包经营权终止日期")
    @TableField("LAND_MANAGE_END_DATE")
    private Date landManageEndDate;

    /**
     * 林木所有权权利人
     */
    @ApiModelProperty("林木所有权权利人")
    @TableField("TREES_BELONG_USER")
    private String treesBelongUser;

    /**
     * 林木所有权权利人身份证号码
     */
    @ApiModelProperty("林木所有权权利人身份证号码")
    @TableField("TREES_BELONG_USER_ID_NO")
    private String treesBelongUserIdNo;

    /**
     * 林木所有权权利人统一社会信用代码
     */
    @ApiModelProperty("林木所有权权利人统一社会信用代码")
    @TableField("TREES_BELONG_USER_CREDIT_CODE")
    private String treesBelongUserCreditCode;

    /**
     * 林木使用权权利人
     */
    @ApiModelProperty("林木使用权权利人")
    @TableField("TREES_USE_USER")
    private String treesUseUser;

    /**
     * 林木使用权权利人身份证号码
     */
    @ApiModelProperty("林木使用权权利人身份证号码")
    @TableField("TREES_USE_ID_NO")
    private String treesUseIdNo;

    /**
     * 林木使用权权利人统一社会信用代码
     */
    @ApiModelProperty("林木使用权权利人统一社会信用代码")
    @TableField("TREES_USE_CREDIT_CODE")
    private String treesUseCreditCode;

    /**
     * 林班
     */
    @ApiModelProperty("林班")
    @TableField("COMPARTMENT")
    private String compartment;

    /**
     * 小班
     */
    @ApiModelProperty("小班")
    @TableField("SUB_COMPARTMENT")
    private String subCompartment;

    /**
     * 面积
     */
    @ApiModelProperty("面积")
    @TableField("AREA")
    private BigDecimal area;

    /**
     * 株数
     */
    @ApiModelProperty("株数")
    @TableField("NUM")
    private Integer num;

    /**
     * 主要树种
     */
    @ApiModelProperty("主要树种")
    @TableField("TREE_SPECIES")
    private String treeSpecies;

    /**
     * 林种
     */
    @ApiModelProperty("林种")
    @TableField("FOREST_CATEGORY")
    private String forestCategory;

    /**
     * 注记
     */
    @ApiModelProperty("注记")
    @TableField("ANNOTATION")
    private String annotation;

    /**
     * 小地名
     */
    @ApiModelProperty("小地名")
    @TableField("SUB_PLACE_NAME")
    private String subPlaceName;

    /**
     * 东
     */
    @ApiModelProperty("东")
    @TableField("BORDER_EAST")
    private String borderEast;

    /**
     * 西
     */
    @ApiModelProperty("西")
    @TableField("BORDER_WEST")
    private String borderWest;

    /**
     * 南
     */
    @ApiModelProperty("南")
    @TableField("BORDER_SOUTH")
    private String borderSouth;

    /**
     * 北
     */
    @ApiModelProperty("北")
    @TableField("BORDER_NORTH")
    private String borderNorth;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    @TableField("REMARK")
    private String remark;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    @TableField(value = "CREATE_USER", fill = FieldFill.INSERT)
    private String createUser;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField(value = "CREATE_DATE", fill = FieldFill.INSERT)
    private Date createDate;

    /**
     * 修改人
     */
    @ApiModelProperty("修改人")
    @TableField(value = "UPDATE_USER", fill = FieldFill.INSERT_UPDATE)
    private String updateUser;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    @TableField(value = "UPDATE_DATE", fill = FieldFill.INSERT_UPDATE, jdbcType = JdbcType.TIMESTAMP)
    private Date updateDate;


    /**
     * 状态：0.保存 1. 待审核  2.审核中 3.审核通过   4.退回
     */
    @ApiModelProperty("状态：0.待审核 1. 待审核  2.市级审核通过 3.审核通过   4.退回")
    @TableField(value = "STATUS")
    private Integer status;

    /**
     * 逻辑删除：0.未删除  1.已删除
     */
    @ApiModelProperty("逻辑删除：0.未删除  1.已删除")
    @TableField(value = "IS_DELETE", fill = FieldFill.INSERT, jdbcType = JdbcType.NUMERIC)
    @TableLogic  //逻辑删除注解
    @JsonIgnore  //忽略
    private Integer isDelete;

    /**
     * 是否关联图形，（0 未关联，1 已关联）
     */
    @ApiModelProperty("是否关联图形，（0 未关联，1 已关联）")
    @TableField("HAVE_GIS")
    private String haveGis;

    /**
     * sup 文件路径
     */
    @ApiModelProperty("文件路径")
    @TableField("FILE_PATH")
    private String filePath;
}
